package it.polito.connectedcar.general.network;

import it.polito.connectedcar.message.OutgoingMessage;

import java.io.IOException;

/**
 * A NetworkConnectionManager is an interface representing the lowest level in
 * the system , in charge of managing Message sending and receiving. This is the
 * last abstracted level before the real network level, using the Message
 * abstraction of the system
 * 
 * @author Nicola Aresta
 * 
 */
public interface NetworkConnectionManager {

	/**
	 * Send a message over the underlying network , in order to be independent
	 * from the underlying network used
	 * 
	 * @param message
	 * @throws IOException
	 */
	public void sendMessage(OutgoingMessage message) throws IOException;
}
